package com.mhg.socket;/*
	案例
		多个客户端 和 一个服务端通信 (使用线程技术)

	客户端
		1.客户端对象
		2.通过客户端向服务端发送消息 socket.getOutputStream
			键盘录入 数据 输入 886 结束
		3.接收服务端的反馈信息 socket.getInputStream

*/
import java.net.*;
import java.io.*;
import java.util.*;
class Demo_05_Tcp_Client
{
	public static void main(String[] args) 
	{
		Socket socket = null;
		try{
			socket = new Socket("127.0.0.1",10018);
			OutputStream out = socket.getOutputStream();//发送
			InputStream in = socket.getInputStream();//接收

			//键盘录入
			Scanner sc = new Scanner(System.in);
			while(true){
				System.out.println("客户端对服务端 说:::");
				String message = sc.nextLine();
				//发送
				out.write(message.getBytes());
				out.flush();

				//接收
				byte[] buf = new byte[1024];
				int len = in.read(buf);
				String replay = new String(buf,0,len);
				System.out.println("服务端的反馈是==="+replay);
				
				//退出约定
				if(replay.equals("886")){
					break;
				}
				
			}

		}catch(Exception e){
			e.printStackTrace();
		}finally{
			try{
				if(socket!=null)
					socket.close();
			}catch(IOException e){
				e.printStackTrace();
			}
			
		}
	}
}
